home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Turnbull China Bikeride
/
Turnbull China Bikeride - Disc 2.iso
/
BARNET
/
STRAYLIGHT
/
SAPPHIRE.ZIP
/
StraySrc
/
SapphToys
/
!DrawX
/
!Help
< prev
next >
Wrap
Text File
|
1995-04-20
|
3KB
|
75 lines
____
| \ ___ ___ \ /
| \ | ___) | | ( ><
|_____/ | (___( |_|__) / \
© 1 9 9 4 S t r a y l i g h t
___________________________________________________________
About DrawX
DrawX is, essentially, a pointless utility. It displays
DrawFiles in windows and allows you to scale them, and save
them into other applications. It is slightly quicker at
displaying DrawFiles than Draw is, but does the job no
better, and is nowhere near as good as ArtWorks. It
provides no editing or organisational facilities, and is,
in short, utterly useless in itself.
So why have I just spent the last two days writing it?
DrawX is a demonstration of Straylight's development tools
and libraries. It is written entirely in ARM assembler.
It uses our Sapphire library. Its templates were created
using Glass. It shows what can be done in two days of hard
work and tedious debugging with a powerful library like
Sapphire.
It's also a way thumbing my nose at Acorn a bit for putting
their DrawEx program in the C development system and trying
to pretend it's a good thing to model your applications on:
* It only allows one view at a time, unless you hack it.
Admittedly, this is a fairly good exercise.
* The RAM loading is done very badly, but then again, what
do you expect when the documentation for xferrecv is so
awful?
* It doesn't allow you to zoom in and out of the DrawFiles.
* It doesn't support Help, which Acorn insists everything
must do.
* It's far too big. The image is 70K (that's my hacked one
which does do multiple windows).
DrawX deals with all of these points. It allows any number
of windows to be open. It does all its data transfer
properly. It does do zooming, with fit-to-screen and
fit-to-window options and a zoom drag box too. It supports
Help on all its windows, and for menus under RISC OS 3.10
and higher. And the final image is 48K in size
(uncompressed) so it's only slightly over half the size of
DrawEx. Compressed, the image is only 28K.
Lastly, DrawX is a fairly good example of how to write
Sapphire applications. It does everything a big application
should do, only less so. It conforms as fully to STASIS
(our user interface standard) as I can make it. In fact,
it does so much that I had to change some bits of the
library to allow it to work at all. The only bad thing it
does is to be all in one source file. I never expected it
to be quite as big as it is (over 2100 lines), but then
again, we live and learn.
I hope DrawX provides you with as much usefulness as it has
provided me. That won't be too difficult. I can't imagine
ever using it at all.
_________
Mark Wooding
Straylight Development Centre
23 August 1994
___________________________________________________________